package com.xbongbong.paas.service.stage;

import com.xbongbong.paas.pojo.dto.FormDataListDTO;
import com.xbongbong.paas.pojo.dto.LaneStageCodePageDTO;
import com.xbongbong.paas.pojo.dto.LaneVersionListDTO;
import com.xbongbong.paas.pojo.vo.FormDataListVO;
import com.xbongbong.paas.pojo.vo.LaneCountListVO;
import com.xbongbong.paas.pojo.vo.LaneStageCodeListVO;
import com.xbongbong.paas.pojo.vo.LaneVersionListVO;
import com.xbongbong.paas.pojo.vo.PaasFormLaneDataEsListVO;
import com.xbongbong.paas.toolbox.exception.XbbException;

/**
 * @author mingliang.cao
 * 阶段泳道视图Service
 */
public interface StageLaneViewService {

    /**
     * @param laneStageCodePageDTO
     * @Author mingliang
     * @Description 泳道视图客户阶段列表
     * @Date 2021/11/25 11:22
     **/
    LaneCountListVO laneCustomerStage(LaneStageCodePageDTO laneStageCodePageDTO) throws XbbException;


    /**
     * @Author mingliang
     * @Description 客户，机会，线索，paas表单获得表单解释，统计列名称，是否展示标题
     * @Date 2021/12/15 15:16
     * @param formDataListDTO
     **/
    LaneCountListVO getLaneStageInfo(FormDataListDTO formDataListDTO) throws XbbException;

    /**
     * @param laneStageCodePageDTO
     * @Author mingliang
     * @Description 泳道视图线索阶段列表
     **/
    LaneCountListVO laneClueStage(LaneStageCodePageDTO laneStageCodePageDTO) throws XbbException;

    /**
     * @param laneStageCodePageDTO
     * @Author mingliang
     * @Description 泳道视图机会阶段列表
     **/
    LaneCountListVO laneOpportunityStage(LaneStageCodePageDTO laneStageCodePageDTO) throws XbbException;

    /**
     * @Author mingliang
     * @Description paas表单阶段列表
     * @param laneStageCodePageDTO
     **/
    LaneCountListVO lanePaasStage(LaneStageCodePageDTO laneStageCodePageDTO) throws XbbException;


    /**
     * @param laneVersionListDTO
     * @Author mingliang
     * @Description 泳道版本列表查询
     **/
    LaneVersionListVO laneVersionList(LaneVersionListDTO laneVersionListDTO) throws XbbException;


    /**
     * @param formDataListDTO
     * @Author mingliang
     * @Description 泳道视图查询接口
     **/
    PaasFormLaneDataEsListVO laneViewList(FormDataListDTO formDataListDTO) throws XbbException;

    /**
     * @Author mingliang
     * @Description 泳道视图获得顶部按钮权限
     * @Date 2022/1/20 15:57
     * @param formDataListDTO
     **/
    PaasFormLaneDataEsListVO topButton(FormDataListDTO formDataListDTO) throws XbbException;
}
